package com.qkl.xiatang.app.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qkl.xiatang.app.dto.message.*;
import com.qkl.xiatang.app.entity.message.MessageEntity;
import com.qkl.xiatang.app.entity.message.MessageUserEntity;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface MessageMapper extends BaseMapper<MessageEntity> {

    /**
     * 消息列表查询
     * @param params
     * @return
     */
    List<MessageListOutDTO> queryMessageList(MessageListInDTO params);

    Integer queryMessageListTotal(MessageListInDTO params);

    /**
     * 查询未读消息
     * @param companyId
     * @param userId
     * @param typeList
     * @return
     */
    Integer queryUnreadMessageTotal(@Param("companyId") String companyId, @Param("userId") String userId, @Param("typeList") List<Integer> typeList,@Param("queryTime")  Date queryTime);

    /**
     * 查询消息推送设备
     * @param params
     * @return
     */
    MessagePushUserDTO queryMessagePushDevice(MessagePushUserInDTO params);

    /**
     * 消息明细，查询饲料
     * @param feedIdList
     * @return
     */
    List<FeedMsgDTO> queryFeedMessage(@Param("feedIdList") List<String> feedIdList);

    /**
     * 消息明细，塘口名称
     * @param pondIdList
     * @return
     */
    List<String> queryPondNamesMessage(@Param("pondIdList") List<String> pondIdList);

    /**
     * 初始用户消息
     * @param userMessageList
     */
    void initMessageUser(@Param("userMessageList") List<MessageUserEntity> userMessageList);
}
